package category.dao;


import category.entity.CategoryVO;
import generic.dao.GenericDao;
import generic.page.Pages;

import java.util.List;


public interface CategoryDao extends GenericDao<CategoryVO,Integer> {
    /**
     * 根据id查询分类
     */
    public CategoryVO findCategoryVOById(Integer categoryId);

    /**
     * 判断是否存在
     * 若存在，则返回该类
     * 不存在，则保存至数据库
     * @param categoryVO
     * @return
     */
    public CategoryVO existsOfCategory(CategoryVO categoryVO,Integer blogDataId);

    /**
     *  根据id删除分类
     */
    public void deleteCategoryById(Integer categoryId);

    /**
     *  更新分类
     */
    public CategoryVO updateCategory(CategoryVO categoryVO);

    /**
     *  添加分类
     */
    public CategoryVO addCategoryVO(CategoryVO categoryVO);

    /**
     *  分页显示分类
     */
    public Pages queryForPage(Pages pages,Integer blogDataId);

    /**
     * 计算该分类下文章的数目
     * @param categoryId
     * @return
     */
    public Integer countArticleByCategory(Integer categoryId);

    public List<CategoryVO> findAllCategoryByBlogData(Integer blogDataId);


}